package service;

import pojo.Goods;

import java.util.List;

public interface IGoodsService {
    /**
     * 查询所有商品
     *
     * @return List<Goods>
     */
    List<Goods> queryAllGoods();

    /**
     * 分页查询商品
     *
     * @param pageIndex 页码，从1开始
     * @param pageSize  每页商品数量
     * @return List<Goods>
     */
    List<Goods> queryGoodsWithPage(int pageIndex, int pageSize);

    /**
     * 按照分类名称查询商品
     *
     * @param categoryName 分类名称
     * @return List<Goods>
     */
    List<Goods> queryGoodsByCategoryName(String categoryName);

    /**
     * 按照分类名称查询商品并分页
     *
     * @param categoryName 分类名称
     * @return List<Goods>
     */
    List<Goods> queryGoodsByCategoryNameWithPage(String categoryName, int pageIndex, int pageSize);

    /**
     * 按照分类id查询商品
     *
     * @param categoryId 分类id
     * @return List<Goods>
     */
    List<Goods> queryGoodsByCategoryId(int categoryId);

    /**
     * 根据商品名字模糊查询商品
     *
     * @param goodsName 商品名字
     * @return List<Goods>
     */
    List<Goods> fuzzyQueryGoodsByName(String goodsName);

    /**
     * 根据商品id查询商品
     *
     * @param id 商品id
     * @return Goods
     */
    Goods queryGoodsById(int id);
}
